/**
 * 当传入call/apply/bind的是null/undefined时，自动将this绑定成全局对象
 */
var obj1 = {
  name: 'obj1',
  foo: function () {
    console.log(this)
  }
}
var obj2 = {
  name: 'obj2'
}

obj2.bar = obj1.foo
obj2.bar() //obj2

//得到的是一个函数，就是obj1中的foo
console.log(obj2.bar = obj1.foo); //f(){console.log(this)}
//被当做独立函数调用
(obj2.bar = obj1.foo)() //这种写法单写一行，必须在上一句加；否则会被解析到上一行，出现错误
var bar2 = (obj2.bar = obj1.foo)

//是同一个函数
console.log(obj1.foo === bar2) //true
